/*! Utility classes extracted from theme.css */

/* Display utilities */
.u-d-flex {
  display: flex;
}
.u-d-block {
  display: block;
}
.u-d-none {
  display: none;
}

/* Layout helpers */
.u-flex-center {
  align-items: center;
  display: flex;
  justify-content: center;
}
.u-absolute-fill {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.u-w-100 {
  width: 100%;
}
.u-text-center {
  text-align: center;
}
.u-justify-content-between {
  justify-content: space-between;
}

/* Fixed positioning */
.u-fixed-bottom-right {
  bottom: var(--space-5);
  position: fixed;
  right: var(--space-5);
}

/* Grid system */
.u-grid-row {
  container-type: inline-size;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}
.u-grid-col {
  flex: 1 0 0%;
}
/* Container-query driven column utilities */
@container (min-width: 36rem) {
  .u-grid-col-sm-6 {
    flex: 0 0 calc(50% - var(--space-4));
  }
}
@container (min-width: 48rem) {
  .u-grid-col-md-4 {
    flex: 0 0 calc(33.333% - var(--space-4));
  }
  .u-grid-col-md-8 {
    flex: 0 0 calc(66.667% - var(--space-4));
  }
}

/* Text utilities */
.u-text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
